package com.yunxi.otd.service;

import com.yunxi.core.web.ApiResult;
import com.yunxi.core.web.LoginInfo;
import com.yunxi.otd.pojo.OtdProduceCalendarVO;
import com.yunxi.otd.pojo.OtdWeekColumnHeadVO;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 生产工作日历 服务类
 * </p>
 *
 * @author XUQI
 * @since 2019-07-02
 */
public interface OtdProduceCalendarDubboService {

    void save(OtdProduceCalendarVO otdProduceCalendarVO, LoginInfo info);

    /**
     * 查询工作日历
     * @param map 查询条件
     * @return  List<List<OtdProduceCalendarVO>>
     */
    List<List<OtdProduceCalendarVO>> listByMap(Map<String, Object> map);


    /**
     * 查询每月周数
     * @param map 查询条件
     * @return  List<List<OtdProduceCalendarVO>>
     */
    List<List<String>> weekListByMap(Map<String, Object> map);


    /**
     * 根据年月查询非工作日
     * @param yearMonth 年月 201901
     * @return ApiResult data 日期集合
     */
    ApiResult queryNoWorkday(String yearMonth);

    /**
     * 根据年月查询周数 格式：01(2019-01-01~2019-01-07)
     * @param yearMonth 年月
     * @return  List<List<OtdProduceCalendarVO>>
     */
    ApiResult weekColumnHead(String yearMonth);

    /**
     * 根据选定周查询5周列头 格式：01(2019-01-01~2019-01-07)
     * @param year 年
     * @param week 周
     * @return ApiResult
     */
    ApiResult weekColumnHeadByWeek(String year, String week);


}
